// 1234.00
function isDouble (number) {
    var pattern = /^(([1-9][0-9]*)|((([1-9][0-9]*)|0)\.[0-9]{1,2}))$/;
    return pattern.test(number);
}

// 正整数，包含0
function isIntger (number) {
    var pattern = /^([1-9]\d*|[0]{1,1})$/;
    return pattern.test(number);
}

// 表单验证
function productFormCheck() {

    var result = "";
    // 图片
    if($.trim($('.proPhoto').val()).length == 0) {
        result += 'fail';
        $('.tipproPhoto').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tipproPhoto').html("√").css("color", "green");
    }
    // 商品名称
    if($.trim($('.reserve1').val()).length == 0) {
        result += 'fail';
        $('.tipreserve1').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tipreserve1').html("√").css("color", "green");
    }
    // 进货日期
    if($.trim($('.purchaseDate').val()).length == 0) {
        result += 'fail';
        $('.tippurchaseDate').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tippurchaseDate').html("√").css("color", "green");
    }

    // 成分
    if($.trim($('.ingre').val()).length == 0) {
        result += 'fail';
        $('.tipingre').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tipingre').html("√").css("color", "green");
    }

    // 功效
    if($.trim($('.proEffect').val()).length == 0) {
        result += 'fail';
        $('.tipproEffect').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tipproEffect').html("√").css("color", "green");
    }

    // 用途
    if($.trim($('.useOf').val()).length == 0) {
        result += 'fail';
        $('.tipuseOf').html("* 此项为必填项！").css("color", "red");
    }  else {
        // 验证通过
        $('.tipuseOf').html("√").css("color", "green");
    }

    // 进货价格
    if($.trim($('.purchasePrice').val()).length == 0) {
        result += 'fail';
        $('.tippurchasePrice').html("* 此项为必填项！").css("color", "red");
    } else {
        if(isDouble($.trim($('.purchasePrice').val())) == true || isIntger($.trim($('.purchasePrice').val())) == true) {
            // 验证通过
            $('.tippurchasePrice').html("√").css("color", "green");
        } else {
            result += 'fail';
            $('.tippurchasePrice').html("* 格式错误！").css("color", "red");
        }
    }

    // 售价
    if($.trim($('.unitPrice').val()).length == 0) {
        result += 'fail';
        $('.tipunitPrice').html("* 此项为必填项！").css("color", "red");
    } else {
        if(isDouble($.trim($('.unitPrice').val())) == true || isIntger($.trim($('.unitPrice').val())) == true) {
            // 验证通过
            $('.tipunitPrice').html("√").css("color", "green");
        } else {
            result += 'fail';
            $('.tipunitPrice').html("* 格式错误！").css("color", "red");
        }
    }

    // 库存
    if($.trim($('.proStock').val()).length == 0) {
        result += 'fail';
        $('.tipproStock').html("* 此项为必填项！").css("color", "red");
    } else {
        if(isIntger($.trim($('.proStock').val())) == false) {
            result += 'fail';
            $('.tipproStock').html("* 格式错误！").css("color", "red");
        } else {
            // 验证通过
            $('.tipproStock').html("√").css("color", "green");
        }
    }

    // 全部判断通过
    if (result != '') {
        return false;
    }
    return true;
}

function checkProNo() {
    // 编号
    if($.trim($('.productNo').val()).length == 0) {
        $('.tipproductNo').html("* 此项为必填项！").css("color", "red");
        return false;
    }  else {
        // 验证通过
        $('.tipproductNo').html("√").css("color", "green");
        return true;
    }
}

// 添加
$("#submitForm").on("click", function () {
    if (confirm("确定添加商品？")) {
        if (productFormCheck()) {
            $.ajax({
                type: "POST",
                url: "/productController/addProduct",
                dataType: "json",
                data: $('#productForm').serialize(),
                success: function (data) {
                    if (data.result == "success") {
                        alert("添加成功！");
                        window.location.reload();
                    } else {
                        alert("添加失败！");
                    }
                },
                error: function () {
                    alert("发送请求失败！");
                }
            });
        } else {
            alert("添加失败，请检查红色提示部分！");
        }
    }
});

// 删除
function delProFun(productId) {
    $("#delConfirm").modal({
        onConfirm: function() {
            $.ajax({
                type: "GET",
                url: "/productController/deleteProduct?productId=" + productId,
                dataType: "json",
                success: function (data) {
                    if (data.result == "success") {
                        alert("删除成功！");
                        window.location.reload();
                    } else {
                        alert("删除失败！");
                    }
                },
                error: function () {
                    alert("发送请求失败！");
                }
            });
        }
    });
}

// 获得单条信息，并显示
function editProductFun(productId) {
    $("#submitForm").hide();
    $.ajax({
        type: "GET",
        url: "/productController/findOneProduct?productId=" + productId,
        dataType: "json",
        success: function (data) {
            // 图片
            $(".image").attr("src", data.pro.proPhoto);
            $(".proPhoto").val(data.pro.proPhoto);
            // 唯一标识（用于保存修改的时候的id）
            $(".productId").val(data.pro.productId);
            // 商品名称
            $(".reserve1").val(data.pro.reserve1);
            // 分类名称
            showProTypeId(data.pro.proTypeId);
            // 编号
            $(".productNo").val(data.pro.productNo);
            // 进货价格
            $(".purchasePrice").val(data.pro.purchasePrice);
            // 售价
            $(".unitPrice").val(data.pro.unitPrice);
            // 库存
            $(".proStock").val(data.pro.proStock);
            // 计量方式
            if (data.pro.measureWay == "包") $(".measureWay").selected('select', 1);
            if (data.pro.measureWay == "克") $(".measureWay").selected('select', 2);
            if (data.pro.measureWay == "袋") $(".measureWay").selected('select', 3);
            if (data.pro.measureWay == "箱") $(".measureWay").selected('select', 4);
            if (data.pro.measureWay == "其他") $(".measureWay").selected('select', 5);
            // 进货日期
            $(".purchaseDate").datepicker('setValue', data.pro.purchaseDate);
            // 成分
            $(".ingre").val(data.pro.ingre);
            // 功效
            $(".proEffect").val(data.pro.proEffect);
            // 用途
            $(".useOf").val(data.pro.useOf);
            // 说明
            $(".proInstruct").val(data.pro.proInstruct);

        },
        error: function () {
            alert("发送请求失败！");
        }
    });
}

// 更新
function updateEmpFun () {
    if (confirm("您确定更新当前商品的信息？")) {
        // 前端验证
        if (productFormCheck() && checkProNo()) {
            // 发送请求
            $.ajax({
                type: "POST",
                url: "/productController/updateProduct",
                dataType: "json",
                data: $('#productForm').serialize(),
                success: function (data) {
                    if (data.result == "success") {
                        alert("更新成功！");
                        window.location.reload();
                    } else {
                        alert("更新失败！");
                    }
                },
                error: function () {
                    alert("发送请求失败！");
                }
            });
        } else {
            alert("您输入的信息有误，请检查红色字段。");
        }
    }
}

// 设置下路框的选项
function showProTypeId(productId) {
    $.ajax({
        type: "POST",
        url: "/productController/findProductType",
        success: function (data) {
            for (var i = 0; i < data.proTypeList.length; i++) {
                if (productId != null && data.proTypeList[i].proTypeId == productId) {
                    $(".proTypeId").append("<option value=" + data.proTypeList[i].proTypeId + " selected>" + data.proTypeList[i].typeName + "</option>");
                } else {
                    $(".proTypeId").append("<option value=" + data.proTypeList[i].proTypeId + ">" + data.proTypeList[i].typeName + "</option>");
                }
            }
        }
    });
}

// 上传头像，并回显
$(".proPhotoFile").bind ('change',function() {
    var fordate = new FormData();  // 得到一个FormData对象：
    var fils = $(".proPhotoFile").get(0).files[0];  // 得到file对象
    fordate.append('pic', fils);  // 用append方法添加键值对
    var result = uploadfile('proPhotoFile'); // 上传头像并返回结果
    if (result.code == 0) {
        $(".image").attr({'src': result.data}); // 把图片回显
        $(".proPhoto").val(result.data); // 将路径存入不显示的文本框中
        $(".tipproPhoto").html("√").css("color", "green");
    } else {
        $(".tipproPhoto").html("上传图片失败，请重新上传！").css("color", "green");
    }
});

// 点击头像
function showPhotoFun (productId) {
    $.ajax({
        type: "GET",
        url: "/productController/findOneProduct?productId=" + productId,
        dataType: "json",
        success: function (data) {
            $(".imagePhoto").attr({'src': data.pro.proPhoto});
        },
        error: function () {
            alert("发送请求失败！");
        }
    });
}

// 点击新增
function hideBtn() {
    $("#updateBtn").hide(); // 隐藏更新按钮
    $("#productNo").hide(); // 隐藏编号输入框
    showProTypeId(null); // 动态下拉框
}

// 给按钮设置（取消，关闭）点击刷新网页
$('.clearForm').on('click', function() {
    window.location.reload();
});

// 模糊查询
$("#searchBtn").on("click", function () {
    var type = $("#searchType").val();
    var content = $("#searchContent").val();
    if (content === null || content === undefined || content === '' || content.length === 0) {
        alert("请输入查询条件！");
        return false;
    } else {
        window.location.href = "/productController/searchProduct?type=" + type + "&content=" + content;
    }
});
